package binary;

/**
 * 二进制的演示
 */
public class BinaryDemo {
    public static void main(String[] args) {
        /*
        1）编译期在编译时会将10进制编译为2进制，然后按照2进制来运算
             .java（45）--------编译后----------.class（101101）
        2）int类型是32位2进制数，显示2进制自动省略高位0
        3）Integer.toBinaryString（）可以将底层2进制数返回
           显示2进制：System.out.println(Integer.toBinaryString(n))
           显示十进制：System.out.println(n)
         */
        int n=45;//编译时会被编译为：101101
        System.out.println(Integer.toBinaryString(n));//输出101101，以2进制输出
        System.out.println(n);//输出45，以10进制输出

        n++;//将101101增1------101110
        System.out.println(Integer.toBinaryString(n));//输出101110，以2进制输出
        System.out.println(n);//输出46，以10进制输出
        /**
         *  权：       8  4  2   1
         *  2进制:0100 0111 1011 1001 1000 1010
         *  10进制: 4    7    b   9     8    a--------47b98a
         *  权：    8  4  2   1
         *  2进制:0010 1001 1011 0110 0011 0101
         *  10进制: 2   9     b    6    3    5-----------29b635
         *  权：    8  4  2   1
         *  2进制:1000 1111 0011 0101 1000 1001
         *  10进制: 8    f    3    5   8     9-------8f3589
         *  权：   8  4  2   1
         *  2进制:0001 1100 0111 0100 0110 0000 1111
         *  10进制: 1    c    7    4    6    0    f------1c7460f
         */

    }
}
